<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSDP Help: D:/doxy/PublicAPI/ATCCLObj/SingleCCLEntity.h 源文件</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SSDP Help<span id="projectnumber">&#160;2.04.01</span>
   </div>
   <div id="projectbrief">仅供测试</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.3 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',false,false,'search.php','搜索');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a01df1794e5beec01860bdd05aea48.html">PublicAPI</a></li><li class="navelem"><a class="el" href="../../dir_0e374fd3745cd6b43765e729b76aed93.html">ATCCLObj</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">SingleCCLEntity.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d3/d8b/_single_c_c_l_entity_8h.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span>BEGIN_ATEC_ATCCLOBJECT_NAMESPACE</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#define STANDALONEENABLER_EnablerID         0xec5e</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#define DEFAULT_NUMBITSPERPROPERTY  2</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="keyword">typedef</span> <span class="keywordtype">int</span> StructValueIdentifier;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="keyword">struct </span>StructArrayEntry</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span>{</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span>    StructArrayEntry(StructValueIdentifier structValueId, ICCLEntityPtr <span class="keyword">const</span>&amp; entityPtr)</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span>    {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span>        structValueIdentifier = structValueId;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span>        structEntity = entityPtr;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span>    }</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span>    StructValueIdentifier  structValueIdentifier;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    ICCLEntityPtr         structEntity;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>};</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">typedef</span> xvector&lt;StructArrayEntry&gt; StructEntityVector;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">struct </span>PerPropertyFlagsHolder</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>{</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    uint8_t                 numBitsPerProperty;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    uint32_t                numPerPropertyFlagsEntries;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    uint32_t *                perPropertyFlags;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>};</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="../../d1/db0/struct_memory_c_c_l_entity_base.html">   44</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../d1/db0/struct_memory_c_c_l_entity_base.html">MemoryCCLEntityBase</a> : CCLDBuffer</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>{</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">private</span>: <span class="keyword">virtual</span> <span class="keywordtype">void</span> IAmAbstractClass() = 0;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a6dae895183e1b6508f21a88aadddefe1">   60</a></span>    ATCCLOBJ_EXPORT <span class="keywordtype">void</span>                     <a class="code hl_function" href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a6dae895183e1b6508f21a88aadddefe1">SetData</a>(<span class="keyword">const</span> Byte * data, uint32_t size, <span class="keywordtype">bool</span> freeExisitingDataAndCreateCopyOfNewData);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a20059668d15511cc603cec262b767e8f">   70</a></span>    ATCCLOBJ_EXPORT Byte <span class="keyword">const</span> *             <a class="code hl_function" href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a20059668d15511cc603cec262b767e8f">GetData</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    ATCCLOBJ_EXPORT <a class="code hl_struct" href="../../d1/db0/struct_memory_c_c_l_entity_base.html">MemoryCCLEntityBase</a> <span class="keyword">const</span> *   GetParentEntity() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>};</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d5/d63/struct_single_c_c_l_entity.html">   81</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../d5/d63/struct_single_c_c_l_entity.html">SingleCCLEntity</a> : <a class="code hl_struct" href="../../d5/db9/struct_i_c_c_l_entity.html">ICCLEntity</a></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>    , <a class="code hl_struct" href="../../d1/db0/struct_memory_c_c_l_entity_base.html">MemoryCCLEntityBase</a></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>{</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="keyword">private</span>: <span class="keyword">virtual</span> <span class="keywordtype">void</span> IAmAbstractClass() = 0;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../d5/d63/struct_single_c_c_l_entity.html#aa61aa9a18fb4d441d4a9f8ef90dd8526">   96</a></span>    ATCCLOBJ_EXPORT <span class="keyword">static</span> SingleCCLEntityPtr <a class="code hl_function" href="../../d5/d63/struct_single_c_c_l_entity.html#aa61aa9a18fb4d441d4a9f8ef90dd8526">Duplicate</a>(ICCLEntityCR entity);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>};</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="../../d1/ddc/struct_single_c_c_l_enabler.html">  105</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../d1/ddc/struct_single_c_c_l_enabler.html">SingleCCLEnabler</a> : <span class="keyword">public</span> <a class="code hl_struct" href="../../d7/d7e/struct_c_c_l_enabler.html">CCLEnabler</a></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>{</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span><span class="keyword">private</span>: <span class="keyword">virtual</span> <span class="keywordtype">void</span> IAmAbstractClass() = 0;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    ATCCLOBJ_EXPORT <span class="keyword">static</span> SingleCCLEnablerPtr  CreateEnabler(CCLanCR ccLan, LayoutCCLanR classLayout, ISingleEnablerLocaterP structSingleEnablerLocater);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    ATCCLOBJ_EXPORT SingleCCLEntityPtr        CreateEntity(uint32_t minimumInitialSize = 0);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    ATCCLOBJ_EXPORT LayoutCCLanCR                  GetLayoutCCLan() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    ATCCLOBJ_EXPORT LayoutCCLanR                   GetLayoutCCLan();</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>};</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>END_ATEC_ATCCLOBJECT_NAMESPACE</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
<div class="ttc" id="astruct_c_c_l_enabler_html"><div class="ttname"><a href="../../d7/d7e/struct_c_c_l_enabler.html">CCLEnabler</a></div><div class="ttdoc">该类的主要职责是将存储字符串转换为CCLInstance能够理解的整数属性索引</div><div class="ttdef"><b>Definition:</b> CCLRelationMgr.h:22</div></div>
<div class="ttc" id="astruct_i_c_c_l_entity_html"><div class="ttname"><a href="../../d5/db9/struct_i_c_c_l_entity.html">ICCLEntity</a></div><div class="ttdoc">代表CCLan的一个实例</div><div class="ttdef"><b>Definition:</b> CCLInstance.h:43</div></div>
<div class="ttc" id="astruct_memory_c_c_l_entity_base_html"><div class="ttname"><a href="../../d1/db0/struct_memory_c_c_l_entity_base.html">MemoryCCLEntityBase</a></div><div class="ttdoc">该类在内存中持有其分配的值</div><div class="ttdef"><b>Definition:</b> SingleCCLEntity.h:45</div></div>
<div class="ttc" id="astruct_memory_c_c_l_entity_base_html_a20059668d15511cc603cec262b767e8f"><div class="ttname"><a href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a20059668d15511cc603cec262b767e8f">MemoryCCLEntityBase::GetData</a></div><div class="ttdeci">ATCCLOBJ_EXPORT Byte const * GetData() const</div><div class="ttdoc">获取内部缓冲区数据</div></div>
<div class="ttc" id="astruct_memory_c_c_l_entity_base_html_a6dae895183e1b6508f21a88aadddefe1"><div class="ttname"><a href="../../d1/db0/struct_memory_c_c_l_entity_base.html#a6dae895183e1b6508f21a88aadddefe1">MemoryCCLEntityBase::SetData</a></div><div class="ttdeci">ATCCLOBJ_EXPORT void SetData(const Byte *data, uint32_t size, bool freeExisitingDataAndCreateCopyOfNewData)</div><div class="ttdoc">将ECD缓冲区写入实例</div></div>
<div class="ttc" id="astruct_single_c_c_l_enabler_html"><div class="ttname"><a href="../../d1/ddc/struct_single_c_c_l_enabler.html">SingleCCLEnabler</a></div><div class="ttdoc">该类为ICCLInstance的一个实现</div><div class="ttdef"><b>Definition:</b> SingleCCLEntity.h:106</div></div>
<div class="ttc" id="astruct_single_c_c_l_entity_html"><div class="ttname"><a href="../../d5/d63/struct_single_c_c_l_entity.html">SingleCCLEntity</a></div><div class="ttdoc">该类为ICCLInstance的一个实现</div><div class="ttdef"><b>Definition:</b> SingleCCLEntity.h:83</div></div>
<div class="ttc" id="astruct_single_c_c_l_entity_html_aa61aa9a18fb4d441d4a9f8ef90dd8526"><div class="ttname"><a href="../../d5/d63/struct_single_c_c_l_entity.html#aa61aa9a18fb4d441d4a9f8ef90dd8526">SingleCCLEntity::Duplicate</a></div><div class="ttdeci">static ATCCLOBJ_EXPORT SingleCCLEntityPtr Duplicate(ICCLEntityCR entity)</div><div class="ttdoc">创建内存态的深拷贝</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>
